FILE fix28lib.dif __ 1997/01/06 ____ GAP bugfixes __ Heiko Thei"sen ______
This file contains a bugfix for a serious problem in GAP 3.4.3.
You should apply this bugfix soon.
The problem is in `PermGroupOps.RepresentativeOperation', and it may
cause a computation to fail with a cryptic error message.
ACKNOWLEDGEMENT
We thank Peter F M"uller of the University of Florida for bringing this
bug to our attention in his GAP forum article of 4 Jan 1997 (article
1083).
VERSION
GAP/lib 3.4.3.0
PRIORITY
The problem is a serious problem, because it may cause a computation to
fail. Thus the bugfix has medium priority, and we recommend that you
apply it soon.
HOW TO APPLY
Go to the GAP directory (the directory with the `lib/' subdirectory),
name this file `fix28lib.dif', and issue the command:patch -p0 < fix28lib.difIf `patch' writes "I can't seem to find a patch in there" try `patch -v'.
If `patch -v' gives an error message or reports a version older than 2.1,
get 2.1 from `ftp://FTP.Math.RWTH-Aachen.DE/pub/gap/utils/patch2_1.zoo'.This fix changes only the library.
Thus you need not recompile the GAP kernel.
DESCRIPTION
`PermGroupOps.RepresentativeConjugationElements( G, d, e )' fails
if the group $G$ has a non-reduced base and signalsError, List Element: <list>[1] must have a value at
img[bpt] := lensh[OrbitLength( Group( g ), bpt )] ... in
G.operations.RepresentativeConjugationElements( G, d, e ) called from
arg[1].operations.RepresentativeOperation( arg[1], arg[2], arg[3], OnPoints
) called from
RepresentativeOperation( G, (1,2), (1,3) ) called from
main loopThe analogous problem in `Centralizer' does not lead to an error.
CORRECT BEHAVIOUR
gap> G := Group(()); Group( () ) gap> G.stabChain := StabChain(G,rec(base:=[3,4],reduced:=false));; gap> RepresentativeOperation(G,(1,2),(1,3)); false
COMMENT
`PermGroupOps.RepresentativeConjugationElements( G, d, e )' builds a list
which is indexed by cycle lengths of $d$ and contains for each cycle
length a union of cycles of that length. If $G$ is trivial, this list is
empty. Then for each base point $b$ of $G$, the list entry at position
``length of the $e$-cycle containing $b$'' is read. This causes the error
if $G$ is trivial but has a non-reduced base.Such non-reduced bases can appear in centralisers in permutation groups,
which are computed with a backtrack algorithm. `RepresentativeOperation'
uses an iterative method involving such centralisers when it computes an
element which conjugates a list of permutations onto another one.The analogous code in `Centralizer' is also changed with this patch,
although it causes no error.
DIFFS
Prereq: 3.21 --- lib/permbckt.g Thu Dec 21 15:30:28 1995 +++ lib/permbckt.g Tue Jan 7 09:05:55 1997 @@ -3,14 +3,17 @@ #A permbckt.g GAP library Udo Polis #A & Martin Schoenert ## -#A @(#)$Id: 2.html,v 1.2 2004/04/21 15:06:57 felsch Exp $ +#A @(#)$Id: 2.html,v 1.2 2004/04/21 15:06:57 felsch Exp $ ## #Y Copyright 1990-1992, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany ## ## This file contains the backtrack functions for permutation groups. ## #H $Log: 2.html,v $ #H Revision 1.2 2004/04/21 15:06:57 felsch #H Corrected links in the Forum Archive pages. VF #H #H Revision 1.1.1.1 2004/04/20 13:39:39 felsch #H The final GAP-Forum archive until 2003. #H #H Revision 1.2 2003/06/12 17:28:26 gap #H Address updates by JN. AH #H #H Revision 1.1 1997/08/15 11:19:43 gap #H New forum setup. AH #H #H Revision 1.1 1997/04/06 10:39:44 gap #H Added forum archives (ahulpke) #H -#H Revision 3.21 1994/06/20 11:29:09 ahulpke +#H Revision 3.21.1.1 1997/01/06 13:41:46 htheisse +#H avoided non-redundant bases in centraliser/element conjugacy +#H +#H Revision 3.21 1994/06/20 11:29:09 ahulpke #H Transfer of .stabChainOps.random #H #H Revision 3.20 1992/07/07 12:43:17 martin @@ -519,8 +522,8 @@ # compute a stabchain for $G$. # we take a base that has as often as possible $\beta_i^g = \beta_{i+1}$. - MakeStabChain( G, Concatenation(orbsg) ); - base := G.operations.Base( G ); + base := G.operations.Base( StabChain( G, + rec( base := Concatenation( orbsg ) ) ) ); # for each length make a set of points in orbits of that length under $h$ lensh := []; @@ -990,8 +993,8 @@ # compute a stabchain for $G$. # we take a base that has as often as possible $\beta_i^g = \beta_{i+1}$. - MakeStabChain( G, Concatenation(orbsH) ); - base := G.operations.Base( G ); + base := G.operations.Base( StabChain( G, + rec( base := Concatenation( orbsH ) ) ) ); # for each length make a set of points in orbits of that length under $g$ lensH := []; END OF fix28lib.dif ________________________________________________________